May-Happen-in-Parallel Analysis with Returned Futures

نویسندگان

  • Elvira Albert
  • Samir Genaim
  • Pablo Gordillo
چکیده

May-Happen-in-Parallel (MHP) is a fundamental analysis to reason about concurrent programs. It infers the pairs of program points that may execute in parallel, or interleave their execution. This information is essential to prove, among other things, absence of data races, deadlock freeness, termination, and resource usage. This paper presents an MHP analysis for asynchronous programs that use futures as synchronization mechanism. Future variables are available in most concurrent languages (e.g., in the library concurrent of Java, in the standard thread library of C++, and in Scala and Python). The novelty of our analysis is that it is able to infer MHP relations that involve future variables that are returned by asynchronous tasks. Futures are returned when a task needs to await for another task created in an inner scope, e.g., task t needs to await for the termination of task p that is spawned by task q that is spawned during the execution of t (not necessarily by t). Thus, task p is awaited by task t which is in an outer scope. The challenge for the analysis is to (back)propagate the synchronization of tasks through future variables from inner to outer scopes.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Jurisprudential analysis of

One Islamic financial instrument that adds to the liquidity of futures contracts is the standard parallel contract. In recent years, these tools have been used in some Islamic countries and have recently been introduced to the Iranian capital market. This tool is first proposed in petroleum and petroleum products with the aim of financing oil projects and is known for its oil futures. The most ...

متن کامل

Let's Annotate to Let Our Code Run in Parallel

This paper presents an approach that exploits Java annotations to provide meta information needed to automatically transform plain Java programs into parallel code that can be run on multicore workstation. Programmers just need to decorate the methods that will eventually be executed in parallel with standard Java annotations. Annotations are automatically processed at launch-time and parallel ...

متن کامل

ماهیت و آثار قرارداد سلف موازی

Parallel Forward contract is a contract that anticipated to resolve the limitations arising from the forward  sale. This contract is parallel to the primary forward contract, forward contract to be signed first, second independent predecessor in terms of commitments and associated works contract has complete autonomy over index futures; the buyer of the forward contract take place in the s...

متن کامل

Complexity Results for May-Happen-in-Parallel Analysis

For concurrent and parallel languages, may-happen-in-parallel (MHP) analysis is useful as a basis for tools such as data race detectors. While many approximate static MHP analyses exist, researchers have published only a few papers on decidability results for MHP analysis. We study MHP analysis for a model of X10, a parallel language with async-finish parallelism. For programs with procedures, ...

متن کامل

Analysis of May-Happen-in-Parallel in Concurrent Objects

This paper presents a may-happen-in-parallel (MHP) analysis for OO languages based on concurrent objects. In this concurrency model, objects are the concurrency units such that, when a method is invoked on an object o2 from a task executing on object o1, statements of the current task in o1 may run in parallel with those of the (asynchronous) call on o2, and with those of transitively invoked m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017